# __author:wanghao

from case.base.basecase import BaseCase
from case.pages.livingpage import LivingPage
from case.base import route, loader
from case.pages.storepage import StorePage

"""
直播页测试
"""


class LivingPageTest(BaseCase):
    def __init__(self, methodName='runTest'):
        super(LivingPageTest, self).__init__(methodName)
        self.livingpage = LivingPage(self)

    """
      case1:测试从小程序首页点击直播模块，进入直播页面，测试跳转页面是否正确
    """

    def test_01_check_living_path(self):
        self.logger.info("case1:测试从小程序首页点击直播模块，进入直播页面，测试跳转页面是否正确")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 接口等待时间
        self.page.wait_for(2)
        # 判断跳转路径是否正确
        self.livingpage.check_living_page()

    """
      case2:测试从小程序首页点击直播关注模块，进入直播关注页面，测试跳转页面是否正确
    """

    def test_02_check_living_follow_path(self):
        self.logger.info("case2:测试从小程序首页点击直播关注模块，进入直播关注页面，测试跳转页面是否正确")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 接口等待时间
        self.page.wait_for(1)
        # 进入关注页面
        self.livingpage.to_follow_living_page()
        self.page.wait_for(1)
        # 判断跳转路径是否正确
        self.livingpage.check_living_follow_page()

    """
      case3:测试直播页面基本元素
    """

    def test_03_check_living_element(self):
        self.logger.info("case3:测试直播页面基本元素")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 接口等待时间
        self.page.wait_for(2)
        # check瀑布流直播卡片
        self.livingpage.check_living_element()
        # 进入关注页面
        self.livingpage.to_follow_living_page()
        self.page.wait_for(1)
        # check瀑布流直播卡片
        self.livingpage.check_living_element()

    """
      case4:测试通过直播瀑布卡片进入直播间
    """

    def test_04_into_living_from_card(self):
        self.logger.info("case4:测试通过直播瀑布卡片进入直播间")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 校验直播间元素
        self.livingpage.into_living_from_card()

    """
    case5:测试通过直播吸顶icon进入直播间
    """

    def test_05_into_living_from_icon(self):
        self.logger.info("case5:测试通过直播吸顶icon进入直播间")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 校验直播间元素
        self.livingpage.into_living_from_icon()

    """
    case6:测试通过已关注页面直播中进入直播间
    """

    def test_06_into_living_from_follow_living_card(self):
        self.logger.info("case6:测试通过已关注页面直播中进入直播间")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 进入关注页面
        self.livingpage.to_follow_living_page()
        self.page.wait_for(1)
        # 校验直播间元素
        self.livingpage.into_living_from_card()

    """
    case7:通过直播间进入商详页
    """

    def test_07_into_living_goods_detail(self):
        self.logger.info("case7:通过直播间进入商详页")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 进入直播间
        self.livingpage.into_living_from_card()
        # 进入宝贝袋商详页
        self.livingpage.into_good_detail()

    """
    case8:通过直播间购买商品
    """

    def test_08_buy_living_goods_detail(self):
        self.logger.info("case8:通过直播间购买商品")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 进入直播间
        self.livingpage.into_living_from_card()
        # 进入宝贝袋商详页
        self.livingpage.into_good_detail()
        self.livingpage.buy_goods_from_detail()
        # 购买
        self.livingpage.submit_to_buy()

    """
    case9:购买【正在讲解】商品
    """

    def test_09_buy_living_showing_goods(self):
        self.logger.info("购买直播间【正在讲解】的商品")
        # 进入直播页面
        self.livingpage.to_living_page()
        # 进入直播间
        self.livingpage.into_living_from_card()
        self.livingpage.buy_showing_good()
        # 商详页选择sku
        self.livingpage.buy_goods_from_detail()
        # 购买
        self.livingpage.submit_to_buy()


if __name__ == "__main__":
    loader.run(module="case.livingpage_test", config="../config.json", generate_report=True)
